///////////////////////////////////////////////////////////////////
//                            _ooOoo_                            //
//                           o8888888o                           //
//                           88" . "88                           //
//                           (| -_- |)                           //
//                            O\ = /O                            //
//                        ____/`---'\____                        //
//                      .   ' \\| |// `.                         //
//                       / \\||| : |||// \                       //
//                     / _||||| -:- |||||- \                     //
//                       | | \\\ - /// | |                       //
//                     | \_| ''\---/'' | |                       //
//                      \ .-\__ `-` ___/-. /                     //
//                   ___`. .' /--.--\ `. . __                    //
//                ."" '< `.___\_<|>_/___.' >'"".                 //
//               | | : `- \`.;`\ _ /`;.`/ - ` : | |              //
//                 \ \ `-. \_ __\ /__ _/ .-` / /                 //
//         ======`-.____`-.___\_____/___.-`____.-'======         //
//                            `=---='                            //
//                                                               //
//         .............................................         //
//                  佛祖保佑             永无BUG                  //
//                  需求不变             永不修改                 //
///////////////////////////////////////////////////////////////////
package com.longyue.ms.common.util;

import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;


public class RequestUtils {
    private RequestUtils() {
    }

    /**
     * 获取与当前线程绑定的request
     *
     * @return
     */
    public static HttpServletRequest getRequest() {
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        return request;
    }

    /**
     * 判断请求是否为ajax请求
     *
     * @param request 请求
     * @return
     */
    public static Boolean isAjaxRequest(HttpServletRequest request) {
        if (request == null) {
            request = RequestUtils.getRequest();
        }
        String header = request.getHeader("X-Requested-With");
        boolean isAjax = "XMLHttpRequest".equals(header) ? true : false;
        return isAjax;
    }

    /**
     * 判断请求是否为ajax请求
     *
     * @param
     * @return
     */
    public static Boolean isAjaxRequest() {
        String header = RequestUtils.getRequest().getHeader("X-Requested-With");
        boolean isAjax = "XMLHttpRequest".equals(header) ? true : false;
        return isAjax;
    }

    /**
     * 判断请求方式是否为get请求
     *
     * @return
     */
    public static Boolean isGetRequest() {
        String header = RequestUtils.getRequest().getHeader("Request Method:");
        boolean isGet = "GET".equals(header) ? true : false;
        return isGet;
    }
}
